package com.zcckj.log.annotation;

import java.lang.annotation.*;

@Inherited
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface LogRecord {
    /**
     * 操作日志的文本模板
     */
    String content();

    /**
     * 操作日志失败的文本版本
     */
    String fail() default "";

    /**
     * 操作日志的执行人
     */
    String operator() default "";

    /**
     * 操作日志绑定的业务标识
     */
    String bizNo() default "";

    /**
     * 操作日志的类型
     */
    String type() default "";

    /**
     * 操作日志的子类型
     */
    String subType() default "";

    /**
     * 扩展参数，记录操作日志的修改详情
     */
    String extra() default "";

    /**
     * 是否记录日志
     */
    String condition() default "";

    /**
     * 记录成功日志的条件
     *
     * @return 表示成功的表达式，默认为空，代表不抛异常为成功
     */
    String successCondition() default "";
}
